package dbexp.model.db;

import dbexp.model.Function;
import dbexp.model.Index;
import dbexp.model.Package;
import dbexp.model.PackageBody;
import dbexp.model.Privilege;
import dbexp.model.Procedure;
import dbexp.model.Role;
import dbexp.model.Schema;
import dbexp.model.Sequence;
import dbexp.model.SourceType;
import dbexp.model.Synonym;
import dbexp.model.Table;
import dbexp.model.User;
import dbexp.model.View;

public enum Type {
	COLUMN,
	COLUMNS("kolumny"),
	ERROR,
	ERRORS,
	EXCEPTION,
	FUNCTION,
	FUNCTIONS(SourceType.LABEL + "/" + Function.LABEL),
	INDEX,
	INDEXES(Index.LABEL),
	INFORMATION,
	NONE,
	NULL,
	OBJECT_PRIVILEGE,
	OBJECT_PRIVILEGES,
	OBJECT_TYPE,
	OBJECT_TYPES("typy obiektowe"),
	OK,
	OPERATION,
	OPERATIONS("operacje"),
	PACKAGE,
	PACKAGEBODY,
	PACKAGES(SourceType.LABEL + "/" + Package.LABEL),
	PACKAGESBODY(SourceType.LABEL + "/" + PackageBody.LABEL),
	PRIVILEGE,
	PRIVILEGES(Privilege.LABEL),
	PROCEDURE,
	PROCEDURES(SourceType.LABEL + "/" + Procedure.LABEL),
	QUERIES,
	QUERY,
	ROLE,
	ROLES(Role.LABEL),
	SCHEMA,
	SCHEMAS(Schema.LABEL),
	SECURITES,
	SECURITY,
	SEQUENCE,
	SEQUENCES(Sequence.LABEL),
	SOURCE_TYPE,
	SOURCE_TYPES(SourceType.LABEL),
	SYNONYM,
	SYNONYMS(Synonym.LABEL),
	SYSTEM_PRIVILEGE,
	SYSTEM_PRIVILEGES,
	TABLE,
	TABLES(Table.LABEL),
	TABLESPACE,
	TABLESPACES("przestrzenie tabel"),
	TRIGGER,
	TRIGGERS(SourceType.LABEL + "/trigery"),
	UNKNOWN,
	USER,
	USERS(User.LABEL),
	VIEW,
	VIEWS(View.LABEL),
	WARNING,

	;
	private String	name	= "";
	
	private Type() {
		name = name();
	}
	
	private Type(String name) {
		this.name = name;
	}
	
	public String getName() {
		return name;
	}
}
